c046e869f9d72eb0c03118233cb81ea0ea639fce,src/plugin/tippers/SafeReference.java,SafeReference,fourthScenario,#PsiElement#,91
Before Change
private boolean fourthScenario(PsiElement e){
// (null != x.y) ? x.y : null
return iz.conditionalExpression(e) && iz.binaryExpression(az.conditionalExpression(e).getCondition()) &&
(az.binaryExpression(az.conditionalExpression(e).getCondition()).getOperationSign().getText().equals("!=")) &&
iz.nullExpression(az.binaryExpression(az.conditionalExpression(e).getCondition()).getLOperand()) &&
iz.nullExpression(az.conditionalExpression(e).getElseExpression()) &&
iz.referenceExpression(az.conditionalExpression(e).getThenExpression()) &&
(az.referenceExpression(az.conditionalExpression(e).getThenExpression()).getQualifier().getText().equals(
az.binaryExpression(az.conditionalExpression(e).getCondition()).getROperand().getText()));
}
After Change
private boolean fourthScenario(PsiElement e){
// (null != x.y) ? x.y : null
boolean cond1 = iz.conditionalExpression(e) && iz.binaryExpression(az.conditionalExpression(e).getCondition()) &&
(az.binaryExpression(az.conditionalExpression(e).getCondition()).getOperationSign().getText().equals("!=")) &&
iz.nullExpression(az.binaryExpression(az.conditionalExpression(e).getCondition()).getLOperand()) &&
iz.nullExpression(az.conditionalExpression(e).getElseExpression());
boolean cond2 = cond1 && iz.referenceExpression(az.conditionalExpression(e).getThenExpression()) &&
(az.referenceExpression(az.conditionalExpression(e).getThenExpression()).getQualifier().getText().equals(
az.binaryExpression(az.conditionalExpression(e).getCondition()).getROperand().getText()));
boolean cond3 = cond1 && iz.MethodCallExpression(az.conditionalExpression(e).getThenExpression()) &&
(az.MethodCallExresson(az.conditionalExpression(e).getThenExpression()).getMethodExpression().getQualifier().getText().equals(
az.binaryExpression(az.conditionalExpression(e).getCondition()).getROperand().getText())) &&
az.MethodCallExresson(az.conditionalExpression(e).getThenExpression()).getArgumentList().getExpressions().length == 0;
return (cond2 || cond3);
}
@Override